package Servicio;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import org.zkoss.zk.ui.Sessions;

import Modelo.MUsuario;

public class Servicio {

private static List<MUsuario> listaUsuario= new LinkedList<MUsuario>();

static{
	listaUsuario.add(new MUsuario("zk", "zk", "Luis"));
	listaUsuario.add(new MUsuario("123", "123", "Maria"));
	listaUsuario.add(new MUsuario("321", "321", "Edison"));
	
}
	public Servicio(){

	}
	
	/*public void agregarAccion(MAuditoria ac){
		listaAccion.add(ac);
	}


	public static List<MAuditoria> getAllAuditorias() {
		// TODO Auto-generated method stub
		return listaAccion;
	}
	
	public static  List<MCliente> getAllClientes() {
		return listaCliente;
	}
	
	public static MCliente[] getAllClientesArray() {
		return listaCliente.toArray(new MCliente[listaCliente.size()]);
	}
	
	public static List<MCliente> getFilterClientes(FiltroCliente filtroCliente) {
		List<MCliente> clientes = new ArrayList<MCliente>();
		String ced = filtroCliente.getCedula().toLowerCase();
		String nomb = filtroCliente.getNombre().toLowerCase();
		String ape = filtroCliente.getApellido().toLowerCase();
		
		for (Iterator<MCliente> i = listaCliente.iterator(); i.hasNext();) {
			MCliente tmp = i.next();
			if (tmp.getCedula().toLowerCase().contains(ced) &&
				tmp.getNombre().toLowerCase().contains(nomb)  &&
				tmp.getApellido().toLowerCase().contains(ape)) {
				clientes.add(tmp);
			}
		}
		return clientes;
	}
	
	public static List<MCliente> getClientesCed(String cedula) {
		List<MCliente> clientes = new ArrayList<MCliente>();
		for (Iterator<MCliente> i = clientes.iterator(); i.hasNext();) {
			MCliente tmp = i.next();
			if (tmp.getCedula().equalsIgnoreCase(cedula)){
				clientes.add(tmp);
			}
		}
		return clientes;
	}*/

	public boolean search(String clave, String contr) {
		// TODO Auto-generated method stub
		if (clave==null || "".equals(clave)){
			return false;
		}else{
			for (MUsuario c: listaUsuario){
				if (c.getUsuario().equals(clave) && c.getContrasena().equals(contr)){
					Sessions.getCurrent().setAttribute("usuario", c.getNombre());
					return true;
				}
			}
			return false;
		}

	}
	

	/*
	
	public static List<MCliente> getClientes(){
		return listaCliente;
	}

	public void borrarCliente(MCliente cl) {
		// TODO Auto-generated method stub
		listaCliente.remove(cl);
	}
	public boolean agregarCliente(MCliente cl)	{
		listaCliente.add(cl);
		return true;
	}
	public int contar(){
		return listaCliente.size();
	}

	public static List<MProducto> getAllProductos() {
		// TODO Auto-generated method stub
		return listaProducto;
	}

	public void borrarProducto(MProducto pds) {
		// TODO Auto-generated method stub
		listaProducto.remove(pds);
	}
	public boolean agregarProducto(MProducto pd)	{
		listaProducto.add(pd);
		return true;
	}

	public static List<MProducto> getFilterProductos(
			FiltroProducto filtroProducto) {
		// TODO Auto-generated method stub
		List<MProducto> productos = new ArrayList<MProducto>();
		String cod = filtroProducto.getCodigo().toLowerCase();
		String det = filtroProducto.getDetalle().toLowerCase();
		String lin = filtroProducto.getLinea().toLowerCase();
		
		for (Iterator<MProducto> i = listaProducto.iterator(); i.hasNext();) {
			MProducto tmp = i.next();
			if (tmp.getCodigo().toLowerCase().contains(cod) &&
				tmp.getDetalle().toLowerCase().contains(det)  &&
				tmp.getLinea().toLowerCase().contains(lin)) {
				productos.add(tmp);
			}
		}
		return productos;
	}
	*/
	
}
